package cn.tedu.ivos.application.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;
@Data
public class ApplicationSaveParam {
    @Schema(description = "申请单id")
    private Long id;//申请单id
    @Schema(description = "申请人id")
    private Long userId;//申请人id
    @Schema(description = "申请人姓名")
    @NotBlank(message = "申请人姓名不能为空")
    private String username;//申请人姓名
    @Schema(description = "用车开始时间")
    @NotNull(message = "用车开始时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;//用车开始时间
    @Schema(description = "用车结束时间")
    @NotNull(message = "用车结束时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;//用车结束时间
    @Schema(description = "出发地")
    @NotBlank(message = "出发地不能为空")
    private String departureAddr;//出发地
    @Schema(description = "目的地")
    @NotBlank(message = "目的地不能为空")
    private String destinationAddr;//目的地
    @Schema(description = "驾照图片")
    @NotBlank(message = "驾照图片不能为空")
    private String imgUrl;//驾照图片
    @Schema(description = "用车原因")
    @NotBlank(message = "用车原因不能为空")
    private String reason;//用车原因
    @Schema(description = "备注")
    @NotBlank(message = "备注不能为空")
    private String remark;//备注
    @Schema(description = "申请单状态")
    private String status;//申请单状态
    @Schema(description = "分配车辆id")
    private Long vehicleId;//分配车辆id
    @Schema(description = "驳回原因")
    private String rejectReason;//驳回原因
    @Schema(description = "审批人id集合")
    private List<Long> auditUserIdList;//审批人id集合 [106,103]
    @Schema(description = "审批人姓名字符串")
    private String auditUsernameList;//审批人姓名字符串 "moly,tom"
    @Schema(description = "审批人姓名集合")
    private List<String> auditUsernameList2;//审批人姓名集合 ["moly","tom"]
}
